import { createApp } from 'vue'
// 引入elementPlus js库 css库
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
//引入pinia
import {createPinia} from "pinia";
//引入pinia插件
import persistedstate from 'pinia-plugin-persistedstate'
//中文语言包
import zhCn from 'element-plus/es/locale/lang/zh-cn'
//图标库
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

import App from './App.vue'
//router单独的配置文件
import router from './router'

//typescript js语法做了类型限制
//对象要先设定类型 使用变量 要标记类型


let myVue = createApp(App)
//vue插件 与vue高度集成
//启动router插件
myVue.use(router)
//启用elementPlus插件
myVue.use(ElementPlus, {
    locale: zhCn,
  })
//把所有图标导入vue全局组件库
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    myVue.component(key, component)
}

// 创建 Pinia 实例
const pinia = createPinia();
// 使用 persistedstate 插件
pinia.use(persistedstate);
// 将 Pinia 注册到应用中
myVue.use(pinia);
myVue.mount('#app')
